<%
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPFase(NumRegistro)
On Error Resume Next
	sSQL = "SELECT fas_fase FROM _Fases WHERE (fas_estado = 1) AND (fas_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = ""
	End If
	SGPFase = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPEtapa(NumRegistro)
On Error Resume Next
	sSQL = "SELECT eta_etapa FROM _Etapas WHERE (eta_estado = 1) AND (eta_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = ""
	End If
	SGPEtapa = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPNombreProyecto(NumRegistro)
On Error Resume Next
	sSQL = "SELECT proy_nombre FROM _Proyectos WHERE (proy_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = ""
	End If
	SGPNombreProyecto = cadena
End Function


'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPGestionInicial(NumRegistro)
On Error Resume Next
	sSQL = "SELECT pfec_fecha_inicio FROM _ProyectoFaseEtapaComponente WHERE (pfec_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = 0
	End If
	SGPGestionInicial = cadena
End Function


'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPGestionFinal(NumRegistro)
On Error Resume Next
	sSQL = "SELECT pfec_fecha_fin FROM _ProyectoFaseEtapaComponente WHERE (pfec_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = 0
	End If
	SGPGestionFinal = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyecto(NumRegistro)
On Error Resume Next
	sSQL = "SELECT proy_codigo, proy_nombre, proy_descripcion FROM _Proyectos WHERE (proy_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>C&Oacute;DIGO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(1,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>DESCRIPCI&Oacute;N</u> : "& MAT(2,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyecto = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoGestion(NumRegistro)
On Error Resume Next
	sSQL = "SELECT proy_codigo, proy_nombre, proy_descripcion, proy_gestion_inicio_ddmmaaaa, proy_gestion_fin_ddmmaaaa FROM _Proyectos WHERE (proy_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>C&Oacute;DIGO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(1,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>DESCRIPCI&Oacute;N</u> : "& MAT(2,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N ACTUAL</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		'cadena = cadena & "<tr>"
		'cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FECHA INICIO</u> : "& MAT(3,0) &"</td>"
		'cadena = cadena & "</tr>"
		'cadena = cadena & "<tr>"
		'cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FECHA CONCLUSI&Oacute;N</u> : "& MAT(4,0) &"</td>"
		'cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoGestion = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoResultado(NumRegistro, NumID)
On Error Resume Next
	sSQL = ""
	sSQL = sSQL & " SELECT _Proyectos.proy_codigo, _Proyectos.proy_nombre,"
	sSQL = sSQL & " _Proyectos.proy_descripcion, _ResultadosIntermedios.rint_resultado_intermedio"
	sSQL = sSQL & " FROM _Proyectos"
	sSQL = sSQL & " INNER JOIN _ResultadosIntermedios ON _Proyectos.proy_id = _ResultadosIntermedios.proy_id"
	sSQL = sSQL & " WHERE (_Proyectos.proy_id = "& NumRegistro &") AND (_ResultadosIntermedios.rint_id = "& NumID &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>C&Oacute;DIGO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(1,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>DESCRIPCI&Oacute;N</u> : "& MAT(2,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>RESULTADO INTERMEDIO</u> : "& MAT(3,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoResultado = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoFaseEtapa(NumRegistro)
On Error Resume Next
	sSQL = "SELECT _Proyectos.proy_nombre, _ProyectoFaseEtapaComponente.fas_id, _ProyectoFaseEtapaComponente.eta_id, _ProyectoFaseEtapaComponente.pfec_fecha_inicio, _ProyectoFaseEtapaComponente.pfec_fecha_fin, _ProyectoFaseEtapaComponente.pfec_fecha_inicio_ddmmaaa, _ProyectoFaseEtapaComponente.pfec_fecha_fin_ddmmaaa FROM         _ProyectoFaseEtapaComponente INNER JOIN _Proyectos ON _ProyectoFaseEtapaComponente.proy_id = _Proyectos.proy_id WHERE     (_ProyectoFaseEtapaComponente.pfec_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FASE</u> : "& SGPFase(MAT(1,0)) &"&nbsp;&nbsp;<u>ETAPA</u> : "& SGPEtapa(MAT(2,0)) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FECHA INICIO</u> : "& MAT(5,0) &"&nbsp;&nbsp;<u>FECHA CONCLUSI&Oacute;N</u> : "& MAT(6,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoFaseEtapa = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoFaseEtapaProducto(NumRegistro)
On Error Resume Next
	sSQL = "SELECT _Proyectos.proy_nombre, _ProyectoFaseEtapaComponente.fas_id, _ProyectoFaseEtapaComponente.eta_id, _Componentes.com_componente, _ProyectoFaseEtapaComponente.pfec_fecha_inicio, _ProyectoFaseEtapaComponente.pfec_fecha_fin, _ProyectoFaseEtapaComponente.pfec_fecha_inicio_ddmmaaa, _ProyectoFaseEtapaComponente.pfec_fecha_fin_ddmmaaa FROM _ProyectoFaseEtapaComponente INNER JOIN _Proyectos ON _ProyectoFaseEtapaComponente.proy_id = _Proyectos.proy_id INNER JOIN _Componentes ON _ProyectoFaseEtapaComponente.pfec_id = _Componentes.pfec_id WHERE     (_Componentes.com_id = "& NumRegistro &")"
	
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FASE</u> : "& SGPFase(MAT(1,0)) &"&nbsp;&nbsp;<u>ETAPA</u> : "& SGPEtapa(MAT(2,0)) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FECHA INICIO</u> : "& MAT(6,0) &"&nbsp;&nbsp;<u>FECHA CONCLUSI&Oacute;N</u> : "& MAT(7,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>COMPONENTE</u> : "& MAT(3,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoFaseEtapaProducto = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoFaseEtapaProductoActividad(NumRegistro)
On Error Resume Next
	
	sSQL = "SELECT _Proyectos.proy_nombre, _ProyectoFaseEtapaComponente.fas_id, _ProyectoFaseEtapaComponente.eta_id,  _Componentes.com_componente, _Productos.prod_producto, _ProyectoFaseEtapaComponente.pfec_fecha_inicio, _ProyectoFaseEtapaComponente.pfec_fecha_fin, _ProyectoFaseEtapaComponente.pfec_fecha_inicio_ddmmaaa, _ProyectoFaseEtapaComponente.pfec_fecha_fin_ddmmaaa FROM _ProyectoFaseEtapaComponente INNER JOIN _Proyectos ON _ProyectoFaseEtapaComponente.proy_id = _Proyectos.proy_id INNER JOIN _Componentes ON _ProyectoFaseEtapaComponente.pfec_id = _Componentes.pfec_id INNER JOIN _Productos ON _Componentes.com_id = _Productos.com_id WHERE (_Productos.prod_id = "& NumRegistro &")"
	
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FASE</u> : "& SGPFase(MAT(1,0)) &"&nbsp;&nbsp;<u>ETAPA</u> : "& SGPEtapa(MAT(2,0)) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FECHA INICIO</u> : "& MAT(7,0) &"&nbsp;&nbsp;<u>FECHA CONCLUSI&Oacute;N</u> : "& MAT(8,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>COMPONENTE</u> : "& MAT(3,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PRODUCTO</u> : "& MAT(4,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoFaseEtapaProductoActividad = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoFaseEtapaProductoActividadItem(NumRegistro)
On Error Resume Next
	
	sSQL = "SELECT _Proyectos.proy_nombre, _ProyectoFaseEtapaComponente.fas_id, _ProyectoFaseEtapaComponente.eta_id, _Componentes.com_componente, _Productos.prod_producto, _Actividades.act_actividad FROM _ProyectoFaseEtapaComponente INNER JOIN _Proyectos ON _ProyectoFaseEtapaComponente.proy_id = _Proyectos.proy_id INNER JOIN _Componentes ON _ProyectoFaseEtapaComponente.pfec_id = _Componentes.pfec_id INNER JOIN _Productos ON _Componentes.com_id = _Productos.com_id INNER JOIN _Actividades ON _Productos.prod_id = _Actividades.prod_id WHERE (_Actividades.act_id = "& NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FASE</u> : "& SGPFase(MAT(1,0)) &"&nbsp;&nbsp;<u>ETAPA</u> : "& SGPEtapa(MAT(2,0)) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>COMPONENTE</u> : "& MAT(3,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PRODUCTO</u> : "& MAT(4,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>ACTIVIDAD</u> : "& MAT(5,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoFaseEtapaProductoActividadItem = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoFaseEtapaProductoActividadInsumo(NumRegistro)
On Error Resume Next
	
	sSQL = "SELECT _Proyectos.proy_nombre, _ProyectoFaseEtapaComponente.fas_id, _ProyectoFaseEtapaComponente.eta_id,  _Componentes.com_componente, _Productos.prod_producto, _Actividades.act_actividad, _ProyectoFaseEtapaComponente.pfec_fecha_inicio, _ProyectoFaseEtapaComponente.pfec_fecha_fin, _ProyectoFaseEtapaComponente.pfec_fecha_inicio_ddmmaaa, _ProyectoFaseEtapaComponente.pfec_fecha_fin_ddmmaaa FROM _ProyectoFaseEtapaComponente INNER JOIN _Proyectos ON _ProyectoFaseEtapaComponente.proy_id = _Proyectos.proy_id INNER JOIN _Componentes ON _ProyectoFaseEtapaComponente.pfec_id = _Componentes.pfec_id INNER JOIN _Productos ON _Componentes.com_id = _Productos.com_id INNER JOIN _Actividades ON _Productos.prod_id = _Actividades.prod_id WHERE (_Actividades.act_id = "& NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FASE</u> : "& SGPFase(MAT(1,0)) &"&nbsp;&nbsp;<u>ETAPA</u> : "& SGPEtapa(MAT(2,0)) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FECHA INICIO</u> : "& MAT(8,0) &"&nbsp;&nbsp;<u>FECHA CONCLUSI&Oacute;N</u> : "& MAT(9,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>COMPONENTE</u> : "& MAT(3,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PRODUCTO</u> : "& MAT(4,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>ACTIVIDAD</u> : "& MAT(5,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoFaseEtapaProductoActividadInsumo = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoFaseEtapaProductoActividadInsumoItem(NumRegistro)
On Error Resume Next
	
	sSQL = "SELECT _Proyectos.proy_nombre, _ProyectoFaseEtapaComponente.fas_id, _ProyectoFaseEtapaComponente.eta_id, _Componentes.com_componente, _Productos.prod_producto, _Actividades.act_actividad, _Item.item_item FROM         _ProyectoFaseEtapaComponente INNER JOIN _Proyectos ON _ProyectoFaseEtapaComponente.proy_id = _Proyectos.proy_id INNER JOIN    _Componentes ON _ProyectoFaseEtapaComponente.pfec_id = _Componentes.pfec_id INNER JOIN _Productos ON _Componentes.com_id = _Productos.com_id INNER JOIN _Actividades ON _Productos.prod_id = _Actividades.prod_id INNER JOIN _Item ON _Actividades.act_id = _Item.act_id WHERE (_Item.item_id = "& NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FASE</u> : "& SGPFase(MAT(1,0)) &"&nbsp;&nbsp;<u>ETAPA</u> : "& SGPEtapa(MAT(2,0)) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>COMPONENTE</u> : "& MAT(3,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PRODUCTO</u> : "& MAT(4,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>ACTIVIDAD</u> : "& MAT(5,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>ITEM</u> : "& MAT(6,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoFaseEtapaProductoActividadInsumoItem = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoFaseEtapaDescripcion(NumProyecto)
On Error Resume Next
	sSQL = "SELECT _Proyectos.proy_codigo, _Proyectos.proy_nombre, _Fases.fas_fase, _Etapas.eta_etapa, _ProyectoFaseEtapaComponente.pfec_descripcion FROM _Proyectos INNER JOIN _ProyectoFaseEtapaComponente ON _Proyectos.proy_id = _ProyectoFaseEtapaComponente.proy_id INNER JOIN _Fases ON _ProyectoFaseEtapaComponente.fas_id = _Fases.fas_id INNER JOIN _Etapas ON _ProyectoFaseEtapaComponente.eta_id = _Etapas.eta_id WHERE (_ProyectoFaseEtapaComponente.pfec_estado = 1) AND (_Proyectos.proy_id = "& NumProyecto &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>C&Oacute;DIGO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(1,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FASE</u> : "& MAT(2,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>ETAPA</u> : "& MAT(3,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>DESCRIPCI&Oacute;N</u> : "& MAT(4,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoFaseEtapaDescripcion = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeProyectoFaseEtapaContrato(NumProyecto, NumContrato)
On Error Resume Next
	sSQL = "SELECT _Proyectos.proy_codigo, _Proyectos.proy_nombre, _Fases.fas_fase, _Etapas.eta_etapa, _ProyectoFaseEtapaComponente.pfec_descripcion, _Contratos.ctto_objeto FROM _Proyectos INNER JOIN _ProyectoFaseEtapaComponente ON _Proyectos.proy_id = _ProyectoFaseEtapaComponente.proy_id INNER JOIN _Fases ON _ProyectoFaseEtapaComponente.fas_id = _Fases.fas_id INNER JOIN _Etapas ON _ProyectoFaseEtapaComponente.eta_id = _Etapas.eta_id INNER JOIN _Contratos ON _ProyectoFaseEtapaComponente.pfec_id = _Contratos.pfec_id WHERE (_ProyectoFaseEtapaComponente.pfec_estado = 1) AND (_Proyectos.proy_id = "& NumProyecto &") AND (_Contratos.ctto_id = "& NumContrato &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	cadena = ""
	If filas <> -1 Then
		cadena = cadena & "<table width=""97%"" border=""0"" cellspacing=""1"" cellpadding=""2"" align=""center"" style=""border:1px solid #999;"" bgcolor=""#E9E9E9"">"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>C&Oacute;DIGO</u> : "& MAT(0,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>PROYECTO</u> : "& MAT(1,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>FASE</u> : "& MAT(2,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>ETAPA</u> : "& MAT(3,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>DESCRIPCI&Oacute;N</u> : "& MAT(4,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>CONTRATO</u> : "& MAT(5,0) &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "<tr>"
		cadena = cadena & "<td><font face=""Tahoma, Geneva, sans-serif"" size=""2""><u>GESTI&Oacute;N</u> : "& qGestion &"</td>"
		cadena = cadena & "</tr>"
		cadena = cadena & "</table>"
	Else
		cadena = cadena & "-"
	End If
	SGPDescribeProyectoFaseEtapaContrato = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPGestionInicialResultados(NumRegistro)
On Error Resume Next
	sSQL = "SELECT proy_gestion_inicio FROM _Proyectos WHERE (proy_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = 0
	End If
	SGPGestionInicialResultados = cadena
End Function


'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPGestionFinalResultados(NumRegistro)
On Error Resume Next
	sSQL = "SELECT proy_gestion_fin FROM _Proyectos WHERE (proy_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = 0
	End If
	SGPGestionFinalResultados = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPGestionImpactoResultados(NumRegistro)
On Error Resume Next
	sSQL = "SELECT proy_gestion_impacto FROM _Proyectos WHERE (proy_id = " & NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = 0
	End If
	SGPGestionImpactoResultados = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPDescribeResultadoInmediato(NumRegistro)
On Error Resume Next
	sSQL = "SELECT rinm_resultado_inmediato FROM _ResultadosInmediatos WHERE (rinm_id = "& NumRegistro &")"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = "-"
	End If
	SGPDescribeResultadoInmediato = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPCSSector(NumRegistro)
On Error Resume Next
	sSQL = "SELECT Sector FROM _ClasificadorSectorial WHERE (CodSectorial = '"& NumRegistro &"')"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = "-"
	End If
	SGPCSSector = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPCSSubSector(NumRegistro)
On Error Resume Next
	sSQL = "SELECT SubSector FROM _ClasificadorSectorial WHERE (CodSectorial = '"& NumRegistro &"')"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = "-"
	End If
	SGPCSSubSector = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPCSClasificadorSectorial(NumRegistro)
On Error Resume Next
	sSQL = "SELECT DescClasificadorSectorial FROM _ClasificadorSectorial WHERE (CodSectorial = '"& NumRegistro &"')"
	MAT = MatrixBD(sSQL, 1)
	If VarType(MAT) = 8 Then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		cadena = MAT(0,0)
	Else
		cadena = "-"
	End If
	SGPCSClasificadorSectorial = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPCorrelativoProyecto(estado)
On Error Resume Next
	cadena = ""
	sSQLs = "SELECT cnf_proyecto FROM _ConfiguraSGP WHERE cnf_estado = "& estado
	MAT = MatrixBD(sSQLs, 1)
	If VarType(MAT) = 8 then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	if filas <> -1 then
	
		tempo = CInt(MAT(0,0)) + 1
		If Len(tempo) = 1 Then Correlativo = "000000" & tempo
		If Len(tempo) = 2 Then Correlativo = "00000" & tempo
		If Len(tempo) = 3 Then Correlativo = "0000" & tempo
		If Len(tempo) = 4 Then Correlativo = "000" & tempo
		If Len(tempo) = 5 Then Correlativo = "00" & tempo
		If Len(tempo) = 6 Then Correlativo = "0" & tempo
		If Len(tempo) = 7 Then Correlativo = tempo
		cadena = Correlativo
	else
		cadena = "-"
	end if
	SGPCorrelativoProyecto = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPCorrelativoProgramaFinanciamiento(estado)
On Error Resume Next
	cadena = ""
	sSQLs = "SELECT cnf_prog_financia FROM _ConfiguraSGP WHERE cnf_estado = "& estado
	MAT = MatrixBD(sSQLs, 1)
	If VarType(MAT) = 8 then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	if filas <> -1 then
	
		tempo = CInt(MAT(0,0)) + 1
		If Len(tempo) = 1 Then Correlativo = "000000" & tempo
		If Len(tempo) = 2 Then Correlativo = "00000" & tempo
		If Len(tempo) = 3 Then Correlativo = "0000" & tempo
		If Len(tempo) = 4 Then Correlativo = "000" & tempo
		If Len(tempo) = 5 Then Correlativo = "00" & tempo
		If Len(tempo) = 6 Then Correlativo = "0" & tempo
		If Len(tempo) = 7 Then Correlativo = tempo
		cadena = Correlativo
	else
		cadena = "-"
	end if
	SGPCorrelativoProgramaFinanciamiento = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPCorrelativoResultadosPrograma(estado)
On Error Resume Next
	cadena = ""
	sSQLs = "SELECT cnf_resul_programa FROM _ConfiguraSGP WHERE cnf_estado = "& estado
	MAT = MatrixBD(sSQLs, 1)
	If VarType(MAT) = 8 then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	if filas <> -1 then
	
		tempo = CInt(MAT(0,0)) + 1
		If Len(tempo) = 1 Then Correlativo = "000000" & tempo
		If Len(tempo) = 2 Then Correlativo = "00000" & tempo
		If Len(tempo) = 3 Then Correlativo = "0000" & tempo
		If Len(tempo) = 4 Then Correlativo = "000" & tempo
		If Len(tempo) = 5 Then Correlativo = "00" & tempo
		If Len(tempo) = 6 Then Correlativo = "0" & tempo
		If Len(tempo) = 7 Then Correlativo = tempo
		cadena = Correlativo
	else
		cadena = "-"
	end if
	SGPCorrelativoResultadosPrograma = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPEstadoProyecto(qEst)
On Error Resume Next
	sSQLs = "SELECT ep_descripcion FROM _EstadoProyecto WHERE (ep_id = "& qEst &")"
	cadena = RecordBD(sSQLs, "ep_descripcion", 1)
	SGPEstadoProyecto = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPTipoProyecto(qEst)
On Error Resume Next
	sSQLs = "SELECT tp_tipo FROM _TipoProyecto WHERE (tp_id = "& qEst &") AND (tp_estado = 1)"
	cadena = RecordBD(sSQLs, "tp_tipo", 1)
	SGPTipoProyecto = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPMesLiteral(qMes)
On Error Resume Next
	qMes = Trim(qMes)
	qMes = CInt(qMes)  
	cadena = "Ninguno"
	If qMes = 1 Then cadena = "Enero"
	If qMes = 2 Then cadena = "Febrero"
	If qMes = 3 Then cadena = "Marzo"
	If qMes = 4 Then cadena = "Abril"
	If qMes = 5 Then cadena = "Mayo"
	If qMes = 6 Then cadena = "Junio"
	If qMes = 7 Then cadena = "Julio"
	If qMes = 8 Then cadena = "Agosto"
	If qMes = 9 Then cadena = "Septiembre"
	If qMes = 10 Then cadena = "Octubre"
	If qMes = 11 Then cadena = "Noviembre"
	If qMes = 12 Then cadena = "Diciembre"
	SGPMesLiteral = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPSumaGestionMesProgSGP3(mes, gestion, proyecto)
On Error Resume Next
	sSQL = "SELECT SUM(_FFOFET.ffofet_"& mes &"p) AS SUMA FROM _ProyectoFaseEtapaComponenteGestion INNER JOIN _FFOFET ON _ProyectoFaseEtapaComponenteGestion.pfecg_id = _FFOFET.pfecg_id INNER JOIN _ProyectoFaseEtapaComponente ON _ProyectoFaseEtapaComponenteGestion.pfec_id = _ProyectoFaseEtapaComponente.pfec_id WHERE     (_ProyectoFaseEtapaComponenteGestion.pfecg_gestion = "& gestion &") AND (_ProyectoFaseEtapaComponente.pfec_estado = 1) AND (_ProyectoFaseEtapaComponente.proy_id = "& proyecto &")"
	Resultado = RecordBD(sSQL, "SUMA", 1)
	If IsNull(Resultado) OR Resultado = "none" Then
		cadena = 0
	Else
		cadena = Resultado
	End If
	SGPSumaGestionMesProgSGP3 = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPSumaGestionMesEjecSGP3(mes, gestion, proyecto)
On Error Resume Next
	sSQL = "SELECT SUM(_FFOFET.ffofet_"& mes &"e) AS SUMA FROM _ProyectoFaseEtapaComponenteGestion INNER JOIN _FFOFET ON _ProyectoFaseEtapaComponenteGestion.pfecg_id = _FFOFET.pfecg_id INNER JOIN _ProyectoFaseEtapaComponente ON _ProyectoFaseEtapaComponenteGestion.pfec_id = _ProyectoFaseEtapaComponente.pfec_id WHERE     (_ProyectoFaseEtapaComponenteGestion.pfecg_gestion = "& gestion &") AND (_ProyectoFaseEtapaComponente.pfec_estado = 1) AND (_ProyectoFaseEtapaComponente.proy_id = "& proyecto &")"
	Resultado = RecordBD(sSQL, "SUMA", 1)
	If IsNull(Resultado) OR Resultado = "none" Then
		cadena = 0
	Else
		cadena = Resultado
	End If
	SGPSumaGestionMesEjecSGP3 = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPSumaGestionMesProgEgresoSGP3(mes, gestion, proyecto)
On Error Resume Next
	sSQL = "SELECT SUM(_FFOFETPartida.ffofetpar_"& mes &"p) AS SUMA FROM _FFOFETPartida INNER JOIN _ActividadesGestion ON _FFOFETPartida.ag_id = _ActividadesGestion.ag_id INNER JOIN _Actividades ON _ActividadesGestion.act_id = _Actividades.act_id INNER JOIN _Productos ON _Actividades.prod_id = _Productos.prod_id INNER JOIN _Componentes ON _Productos.com_id = _Componentes.com_id INNER JOIN _ProyectoFaseEtapaComponente ON _Componentes.pfec_id = _ProyectoFaseEtapaComponente.pfec_id WHERE     (_ProyectoFaseEtapaComponente.pfec_estado = 1) AND (_ProyectoFaseEtapaComponente.proy_id = "& proyecto &") AND (_ActividadesGestion.ag_gestion = "& gestion &") GROUP BY _FFOFETPartida.ff_id, _FFOFETPartida.of_id, _FFOFETPartida.et_id, _FFOFETPartida.par_id, _Componentes.com_componente"
	Resultado = RecordBD(sSQL, "SUMA", 1)
	If IsNull(Resultado) OR Resultado = "none" Then
		cadena = 0
	Else
		cadena = Resultado
	End If
	SGPSumaGestionMesProgEgresoSGP3 = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPSumaGestionMesEjecEgresoSGP3(mes, gestion, proyecto)
On Error Resume Next
	sSQL = "SELECT SUM(_FFOFETPartida.ffofetpar_"& mes &"e) AS SUMA FROM _FFOFETPartida INNER JOIN _ActividadesGestion ON _FFOFETPartida.ag_id = _ActividadesGestion.ag_id INNER JOIN _Actividades ON _ActividadesGestion.act_id = _Actividades.act_id INNER JOIN _Productos ON _Actividades.prod_id = _Productos.prod_id INNER JOIN _Componentes ON _Productos.com_id = _Componentes.com_id INNER JOIN _ProyectoFaseEtapaComponente ON _Componentes.pfec_id = _ProyectoFaseEtapaComponente.pfec_id WHERE     (_ProyectoFaseEtapaComponente.pfec_estado = 1) AND (_ProyectoFaseEtapaComponente.proy_id = "& proyecto &") AND (_ActividadesGestion.ag_gestion = "& gestion &") GROUP BY _FFOFETPartida.ff_id, _FFOFETPartida.of_id, _FFOFETPartida.et_id, _FFOFETPartida.par_id, _Componentes.com_componente"
	Resultado = RecordBD(sSQL, "SUMA", 1)
	If IsNull(Resultado) OR Resultado = "none" Then
		cadena = 0
	Else
		cadena = Resultado
	End If
	SGPSumaGestionMesEjecEgresoSGP3 = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPSumaTotalProgEgresoSGP3(proyecto)
On Error Resume Next
	sSQL = "SELECT (SUM(_FFOFETPartida.ffofetpar_1p) + SUM(_FFOFETPartida.ffofetpar_2p) + SUM(_FFOFETPartida.ffofetpar_3p) + SUM(_FFOFETPartida.ffofetpar_4p) + SUM(_FFOFETPartida.ffofetpar_5p) + SUM(_FFOFETPartida.ffofetpar_6p) + SUM(_FFOFETPartida.ffofetpar_7p) + SUM(_FFOFETPartida.ffofetpar_8p) + SUM(_FFOFETPartida.ffofetpar_9p) + SUM(_FFOFETPartida.ffofetpar_10p) + SUM(_FFOFETPartida.ffofetpar_11p) + SUM(_FFOFETPartida.ffofetpar_12p)) AS SUMA FROM _FFOFETPartida INNER JOIN _ActividadesGestion ON _FFOFETPartida.ag_id = _ActividadesGestion.ag_id INNER JOIN _Actividades ON _ActividadesGestion.act_id = _Actividades.act_id INNER JOIN _Productos ON _Actividades.prod_id = _Productos.prod_id INNER JOIN _Componentes ON _Productos.com_id = _Componentes.com_id INNER JOIN _ProyectoFaseEtapaComponente ON _Componentes.pfec_id = _ProyectoFaseEtapaComponente.pfec_id WHERE (_ProyectoFaseEtapaComponente.pfec_estado = 1) AND (_ProyectoFaseEtapaComponente.proy_id = "& proyecto &") GROUP BY _FFOFETPartida.ff_id, _FFOFETPartida.of_id, _FFOFETPartida.et_id, _FFOFETPartida.par_id, _Componentes.com_componente"
	Resultado = RecordBD(sSQL, "SUMA", 1)
	If IsNull(Resultado) OR Resultado = "none" Then
		cadena = 0
	Else
		cadena = Resultado
	End If
	SGPSumaTotalProgEgresoSGP3 = cadena
End Function


'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPSumaTotalEjecEgresoSGP3(proyecto)
On Error Resume Next
	sSQL = "SELECT (SUM(_FFOFETPartida.ffofetpar_1e) + SUM(_FFOFETPartida.ffofetpar_2e) + SUM(_FFOFETPartida.ffofetpar_3e) + SUM(_FFOFETPartida.ffofetpar_4e) + SUM(_FFOFETPartida.ffofetpar_5e) + SUM(_FFOFETPartida.ffofetpar_6e) + SUM(_FFOFETPartida.ffofetpar_7e) + SUM(_FFOFETPartida.ffofetpar_8e) + SUM(_FFOFETPartida.ffofetpar_9e) + SUM(_FFOFETPartida.ffofetpar_10e) + SUM(_FFOFETPartida.ffofetpar_11e) + SUM(_FFOFETPartida.ffofetpar_12e)) AS SUMA FROM _FFOFETPartida INNER JOIN _ActividadesGestion ON _FFOFETPartida.ag_id = _ActividadesGestion.ag_id INNER JOIN _Actividades ON _ActividadesGestion.act_id = _Actividades.act_id INNER JOIN _Productos ON _Actividades.prod_id = _Productos.prod_id INNER JOIN _Componentes ON _Productos.com_id = _Componentes.com_id INNER JOIN _ProyectoFaseEtapaComponente ON _Componentes.pfec_id = _ProyectoFaseEtapaComponente.pfec_id WHERE (_ProyectoFaseEtapaComponente.pfec_estado = 1) AND (_ProyectoFaseEtapaComponente.proy_id = "& proyecto &") GROUP BY _FFOFETPartida.ff_id, _FFOFETPartida.of_id, _FFOFETPartida.et_id, _FFOFETPartida.par_id, _Componentes.com_componente"
	Resultado = RecordBD(sSQL, "SUMA", 1)
	If IsNull(Resultado) OR Resultado = "none" Then
		cadena = 0
	Else
		cadena = Resultado
	End If
	SGPSumaTotalEjecEgresoSGP3 = cadena
End Function

'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------------------------------------------------------------------------------------------------

Function SGPCierreInsumos(identificador)
On Error Resume Next
	retorno = False
	sSQLs = "SELECT ins_cierre FROM Insumos WHERE ins_id IN (SELECT ins_id FROM _InsumoActividad WHERE act_id = "& identificador &")"
	MAT = MatrixBD(sSQLs, 1)
	If VarType(MAT) = 8 then
		filas = -1
	Else
		filas = UBound(MAT, 2)
	End If
	If filas <> -1 Then
		For inc = 0 To filas
			If CInt(MAT(0,i)) <> 0 Then 
				retorno = True
			End If
		Next	
	End If
	SGPCierreInsumos = retorno
End Function

%>

